Capture Object With additional properties
It is possible to add additional properties to a CaptureObject
{
"Tags": {
"Serialnumber": "11111"
},
"Fields": {
"value1": 0,
"value2": 1,
"value3": 2
},
"MyAdditionalProp":{
"MyAdditionalField": "fieldValue"
},
"Timestamp": 16896908105000
}
Before this is possible, there are a few conditions that apply:
- The
propertyNamemust be configured in the config. - The property must always be a key-value collection (you cannot have a number as an additional property).
- The property must have at least 1 child.
- The cloud platform must know how to handle this. Anything that is not recognized by the cloud platform will be silently dropped. Click here for supported bindings
Data transformation
Like with regular fields, the field name is prefixed with the variable name.
Assuming our variable is called My Variable, this will be the output of the above mentioned example:
{
"Tags": {
"Serialnumber": "11111"
},
"Fields": {
"My Variable_value1": 0,
"My Variable_value2": 1,
"My Variable_value3": 2
},
"MyAdditionalProp":{
"My Variable_MyAdditionalField": "fieldValue"
},
"Timestamp": 16896908105000
}
Configuring the property name in the config
Since this option will only be used by developers, it is not configurable in the UI. To change it, first click the 'edit config' button.
Inside the JSON Editor, manually add the additionalProperties.
- propertyName: The name of the property that lives outside the tags and fields
- id: This is a 'random' identifier used by the collector and syncer. This value is only temporary used in the local database between collecting and syncing. The value itself is not important, but must be unique and may cause issues if changed. Keep the id short as it will be used in the local database field names.